<html>
<head><meta charset="utf-8"><title>maintaining a rustc release set in a monorepo · t-release · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/index.html">t-release</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html">maintaining a rustc release set in a monorepo</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="223416685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223416685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223416685">(Jan 20 2021 at 18:45)</a>:</h4>
<p>Howdy all! I'm maintaining (along with <span class="user-mention" data-user-id="273789">@Benjamin Brittain</span> and some others) a Rust toolchain in a monorepo, and for security-team reasons we need to build them all ourselves, using ones we already have. We'd been trying to only have a nightly release kicking around, but it looks like we should also keep a copy of the most recent beta built and use that for building nightlies. Is that the best thing to do? Is there anything else I should be planning to keep track of as I go down this rabbit hole?</p>



<a name="223417019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223417019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223417019">(Jan 20 2021 at 18:48)</a>:</h4>
<p>t-release is probably the wrong stream, but yes, rustc is always guarenteed to build with itself and with the previous release. It is <em>not</em> guarenteed to work with a recently nightly, although it may work in practice</p>



<a name="223417051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223417051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223417051">(Jan 20 2021 at 18:48)</a>:</h4>
<p>you might be interested in <a href="https://rustc-dev-guide.rust-lang.org/building/bootstrapping.html">https://rustc-dev-guide.rust-lang.org/building/bootstrapping.html</a></p>



<a name="223417077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223417077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223417077">(Jan 20 2021 at 18:48)</a>:</h4>
<p>We can confirm it does not work in practice :)</p>



<a name="223417096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223417096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223417096">(Jan 20 2021 at 18:48)</a>:</h4>
<p>Ah, I was directed here, sorry if this is woefully misplaced. We'd been using nightly and it was working until sometime in December. :)</p>



<a name="223417238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223417238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223417238">(Jan 20 2021 at 18:50)</a>:</h4>
<p>np, bootstrapping doesn't really have a stream that fits</p>



<a name="223417268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223417268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223417268">(Jan 20 2021 at 18:50)</a>:</h4>
<p><a class="stream" data-stream-id="131828" href="/#narrow/stream/131828-t-compiler">#t-compiler</a> maybe</p>



<a name="223426136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223426136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223426136">(Jan 20 2021 at 19:55)</a>:</h4>
<p>What's the relationship between nightlies and betas? I had naively assumed that some nightly turned into a beta, but that doesn't appear to be the case.</p>



<a name="223426774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223426774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223426774">(Jan 20 2021 at 19:59)</a>:</h4>
<p>that's basically true. nightlies are built from the master branch, and beta forks from master every 6 weeks. the beta branch will get backported patches for any regressions we find, then branch to stable after another 6 weeks.</p>



<a name="223426785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223426785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223426785">(Jan 20 2021 at 19:59)</a>:</h4>
<p>here is the description(s): <br>
<a href="https://rustc-dev-guide.rust-lang.org/getting-started.html#new-features">https://rustc-dev-guide.rust-lang.org/getting-started.html#new-features</a></p>



<a name="223427006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223427006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223427006">(Jan 20 2021 at 20:01)</a>:</h4>
<p><code>src/stage0.txt</code> gives the exact toolchain expected for bootstrapping</p>



<a name="223428689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223428689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223428689">(Jan 20 2021 at 20:13)</a>:</h4>
<p>are there stable URLs for the various betas? The "download Rust" page doesn't make that easy to find</p>



<a name="223428794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223428794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223428794">(Jan 20 2021 at 20:14)</a>:</h4>
<p>That is, instead of <a href="https://static.rust-lang.org/dist/rustc-beta-src.tar.gz">https://static.rust-lang.org/dist/rustc-beta-src.tar.gz</a>, something that is maybe date-stamped?</p>



<a name="223428911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223428911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223428911">(Jan 20 2021 at 20:15)</a>:</h4>
<p><code>rustup toolchain install beta-*</code>?</p>



<a name="223428948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223428948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223428948">(Jan 20 2021 at 20:15)</a>:</h4>
<p>I can't use rustup - I'm obligated to build these myself.</p>



<a name="223429072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429072">(Jan 20 2021 at 20:16)</a>:</h4>
<p>you can add the target to a file in your crate</p>



<a name="223429089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429089">(Jan 20 2021 at 20:16)</a>:</h4>
<p>and into <code>Cargo.toml</code> soon</p>



<a name="223429145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429145">(Jan 20 2021 at 20:17)</a>:</h4>
<p>I'm not sure what you're trying to tell me to do. I'm managing a Rust toolchain in a monorepo, no cargo (except where required to build rustc), so I don't have a Cargo.toml?</p>



<a name="223429626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429626">(Jan 20 2021 at 20:21)</a>:</h4>
<p>I think the URL scheme from past shenanigans is</p>
<div class="codehilite"><pre><span></span><code>wget https://static.rust-lang.org/dist/&lt;date&gt;/rust-&lt;channel&gt;-&lt;triple&gt;
</code></pre></div>



<a name="223429669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429669">(Jan 20 2021 at 20:21)</a>:</h4>
<p>Isn't that built compilers, not sources?</p>



<a name="223429690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429690">(Jan 20 2021 at 20:21)</a>:</h4>
<p>... yes</p>



<a name="223429705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429705">(Jan 20 2021 at 20:21)</a>:</h4>
<p>brb, getting more coffee</p>



<a name="223429816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429816">(Jan 20 2021 at 20:22)</a>:</h4>
<p>wait, no!</p>



<a name="223429842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223429842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223429842">(Jan 20 2021 at 20:23)</a>:</h4>
<div class="codehilite"><pre><span></span><code>wget https://static.rust-lang.org/dist/&lt;date&gt;/rust-&lt;channel&gt;.tar.gz
</code></pre></div>



<a name="223430155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430155">(Jan 20 2021 at 20:25)</a>:</h4>
<p>idk what's going on but sources are on GH</p>



<a name="223430257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430257">(Jan 20 2021 at 20:26)</a>:</h4>
<p><span class="user-mention" data-user-id="316805">@durin42</span> is asking for the source code of the cut beta</p>



<a name="223430270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430270">(Jan 20 2021 at 20:26)</a>:</h4>
<p>GH?</p>



<a name="223430279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430279">(Jan 20 2021 at 20:26)</a>:</h4>
<p>is it tagged?</p>



<a name="223430301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430301">(Jan 20 2021 at 20:26)</a>:</h4>
<p>the sources are under that /date/ too</p>



<a name="223430441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430441">(Jan 20 2021 at 20:27)</a>:</h4>
<p><code>rustc-beta-src.tar.xz</code></p>



<a name="223430509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430509">(Jan 20 2021 at 20:28)</a>:</h4>
<p>and you'll need stable to build that</p>



<a name="223430523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430523">(Jan 20 2021 at 20:28)</a>:</h4>
<p>Okay, so notionally take the date from stage0.txt and then the beta channel from that date on <a href="http://static.rust-lang.org">static.rust-lang.org</a>?</p>



<a name="223430535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430535">(Jan 20 2021 at 20:28)</a>:</h4>
<p>and you can decide how far to take your bootstrap efforts</p>



<a name="223430557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430557">(Jan 20 2021 at 20:28)</a>:</h4>
<p>yes</p>



<a name="223430565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430565">(Jan 20 2021 at 20:28)</a>:</h4>
<p>(Yep, I've got a trusted stable from another part of my company that was bootstrapped all the way back to mrustc)</p>



<a name="223430599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223430599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223430599">(Jan 20 2021 at 20:28)</a>:</h4>
<p>great thanks!</p>



<a name="223432115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432115">(Jan 20 2021 at 20:40)</a>:</h4>
<p><span class="user-mention" data-user-id="316805">@durin42</span> I'm curious, why do you bootstrap that far back? Are you worried about a "trusting trust" attack?</p>



<a name="223432147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432147">(Jan 20 2021 at 20:40)</a>:</h4>
<p>Because if so I have a lot more questions, like how far back have you bootstrapped your C compiler ;)</p>



<a name="223432179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> durin42 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432179">(Jan 20 2021 at 20:41)</a>:</h4>
<p>You'd very quickly get into things you'd have to ask our security people, but the answer is yes, trusting-trust attacks.</p>



<a name="223432226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432226">(Jan 20 2021 at 20:41)</a>:</h4>
<p><span class="user-mention" data-user-id="232545">@Joshua Nelson</span> all the way</p>



<a name="223432239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432239">(Jan 20 2021 at 20:41)</a>:</h4>
<p>and I'm not joking</p>



<a name="223432313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432313">(Jan 20 2021 at 20:42)</a>:</h4>
<p>well, I assume they actually did an early convergence test from differing c compilers</p>



<a name="223432322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432322">(Jan 20 2021 at 20:42)</a>:</h4>
<p>Wait, you have a compiler for C written in assembly somewhere?</p>



<a name="223432373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432373">(Jan 20 2021 at 20:42)</a>:</h4>
<p>I mean, that's not _technically_ necessary to defeat trusting trust</p>



<a name="223432450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432450">(Jan 20 2021 at 20:43)</a>:</h4>
<p>Hmm, I guess you could get three different compilers together and compare the output? I'd be shocked if any two compilers had byte identical outputs for the same code though</p>



<a name="223432533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432533">(Jan 20 2021 at 20:44)</a>:</h4>
<p>Or rather that's not the property you want - you want to build a compiler with three different compilers, and make sure the <em>newly built</em> compiler always produces the same code</p>



<a name="223432790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432790">(Jan 20 2021 at 20:46)</a>:</h4>
<p>i.e. <a href="https://dwheeler.com/trusting-trust/">https://dwheeler.com/trusting-trust/</a></p>



<a name="223432924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223432924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223432924">(Jan 20 2021 at 20:48)</a>:</h4>
<p>Ooh nice, thanks! I hadn't seen that article, only the original by Ken Thompson</p>



<a name="223433051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223433051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223433051">(Jan 20 2021 at 20:49)</a>:</h4>
<p>yes, one of those two people work here :P I promise we know what we're doing with this</p>



<a name="223433117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223433117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223433117">(Jan 20 2021 at 20:49)</a>:</h4>
<p>Haha, I wasn't trying to doubt you, just curious :)</p>



<a name="223433196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223433196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223433196">(Jan 20 2021 at 20:50)</a>:</h4>
<p>I'm actually trying to hunt down the internal stuff on how we did it. I assume it's plan9 c based stuff</p>



<a name="223433203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223433203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223433203">(Jan 20 2021 at 20:50)</a>:</h4>
<p>but I might be totally offbase</p>



<a name="223434819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223434819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223434819">(Jan 20 2021 at 21:01)</a>:</h4>
<p>Wow that PDF by david wheeler scares me <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> if you have a subverted compiler all the tools you use for verifying things could be subverted too, you don't even know if <code>cmp compiler-a compiler-b</code> is accurate</p>



<a name="223434955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223434955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223434955">(Jan 20 2021 at 21:02)</a>:</h4>
<p>this touches on that: <a href="https://lwn.net/Articles/841797/">https://lwn.net/Articles/841797/</a></p>



<a name="223435385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223435385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223435385">(Jan 20 2021 at 21:05)</a>:</h4>
<p>I guess cmp is simple enough you could write it in assembly but you still have to trust the assembler</p>



<a name="223438280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223438280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223438280">(Jan 20 2021 at 21:29)</a>:</h4>
<p>do you trust your editor to show you the sources you're verifying?</p>



<a name="223438298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223438298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223438298">(Jan 20 2021 at 21:29)</a>:</h4>
<p>do you trust your CPU to execute the code faithfully?</p>



<a name="223438435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223438435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223438435">(Jan 20 2021 at 21:30)</a>:</h4>
<p>do you trust your RAM and storage devices?</p>



<a name="223439116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223439116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223439116">(Jan 20 2021 at 21:35)</a>:</h4>
<p>Do you trust your firmware? cc Bryan Cantrill</p>



<a name="223439192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223439192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223439192">(Jan 20 2021 at 21:36)</a>:</h4>
<p>well right but my point is that if you need blind trust at some point <em>anyway</em>, then what's the point of doing diverse double compiling?</p>



<a name="223439336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223439336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223439336">(Jan 20 2021 at 21:37)</a>:</h4>
<p>I guess the point is to push the trust boundary as far as possible, and strive ever farther</p>



<a name="223582712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/241545-t-release/topic/maintaining%20a%20rustc%20release%20set%20in%20a%20monorepo/near/223582712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/241545-t-release/topic/maintaining.20a.20rustc.20release.20set.20in.20a.20monorepo.html#223582712">(Jan 21 2021 at 22:54)</a>:</h4>
<p>people have been making computers based on fluid dynamics, could start there, assuming you trust manufacturers of pipes to not be compromised in some way ^^</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>